package myTest.practice;

/**
 * 形参的改变无法作用与实参的，所以不能用变量交换的方式
 *
 * 使用通过引用来修改其成员变量的方式
 */
public class Swap {
    public static void main(String[] args) {
        int x = 5;
        int y = 10;
        swap(x,y);
        System.out.println(x);
        System.out.println(y);
        Value v = new Value(5,10);
        swap(v);;
        System.out.println(v.x);
        System.out.println(v.y);
    }
    //无效的交换
    public static void swap(int x,int y){
        int temp = x;
        x=y;
        y=temp;
    }
    //有效的交换
    public static void swap(Value value){
        int temp = value.x;
        value.x = value.y;
        value.y = temp;
    }
}
class Value{
    int x;
    int y;
    public Value(int x,int y){
        this.x=x;
        this.y=y;
    }
}